#include <iostream>
#include <cassert>

#include "i_include.cpp"

int main()
{
	// setup static I_GAME object
	game_setup(GAME); CURRENT_POSITION = start_board();
	std::cout << CURRENT_POSITION << std::endl;
	
	// 16 halfmoves == 8 fullmoves
	for (int i = 0; i < 16; ++i)
	{
		// apply a single halfmove for whichever player
		apply_player_halfmove();
		
		// print out the current chess position
		std::cout << CURRENT_POSITION << std::endl;
	
		// print out hash values for runtime error checking
		std::cout << "WHITE hash: " << board_hash(CURRENT_POSITION, I_SIDE_WHITE) << std::endl;
		std::cout << "BLACK hash: " << board_hash(CURRENT_POSITION, I_SIDE_BLACK) << std::endl << std::endl;
	};
	
	return EXIT_SUCCESS;
};
